﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NicoView.Model.Service.Comments
{
    public abstract class NicoCommentPositionBase:INicoCommentPosition
    {
        public NicoCommentPositionBase(string command, string name, string description, bool isDefault, bool isPremium)
        {
            Command = command;
            Name = name;
            Description = description;
            IsDefault = isDefault;
            IsPremium = isPremium;
        }

        public string Name
        {
            get;
            private set;

        }

        public bool IsDefault
        {
            get;
            private set;
        }

        public bool IsPremium
        {
            get;
            private set;
        }


        public string Description
        {
            get;
            private set;
        }

        public string Command
        {
            get;
            private set;
        }
    }

    public abstract class NicoCommentGeneralPositionBase : NicoCommentPositionBase
    {
        public NicoCommentGeneralPositionBase(string command, string name, string description, bool isDefault) : base(command, name, description, isDefault, false) { }
    }

    public abstract class NicoCommentPremiumPositionBase : NicoCommentPositionBase
    {
        public NicoCommentPremiumPositionBase(string command, string name, string description, bool isDefault) : base(command, name, description, isDefault,false) { }
    }
}
